%include
:- lib(ic), lib(listut).

testPersonPerson(Path, OState, Arg, Result, NState) :-
	Path > 0,
	% Domains
	[A] :: -127 .. 128,
	[NA] :: -127 .. 128,
	% Constraints
	Arg = [A],
	NState = [NA],
	personPerson(Path, OState, Arg, Result, NState),
	% Solving
	indomain(A),
	indomain(NA).

personPerson(1, [], [A], [], [NAge]) :-
	% Precondition
	A #> 0,
	% Postcondition
	NAge #= A,
	% Invariant
	NAge #> 0.

